package com.sdhs.projectschedule.service;


import com.sdhs.projectschedule.domain.GcProgressMasterPlanMark;

import java.util.List;

/**
 * 项目进度控制--总体计划管理子--总体计划制定Service接口
 *
 * @author ww
 */
public interface IGcProgressMasterPlanMarkService {
	
	/**
     * 定时任务查询需要发送预警消息的计划，同时修改预警标识
     */
    public void handlePlanMarkTask();
	
	/**
     * 总体计划制定流程审批通过后，处理预警标识字段的值
     * @param planMarkList
     */
    public void planMarkWarn(List<GcProgressMasterPlanMark> planMarkList);
	
	/**
     * 【计划变更】流程审批通过后，用变更的数据覆盖【总体计划制定】的数据，同时触发预警标识。
     * @param planId
     * @param planMarkList
     */
    public void planMarkCover(Long planId, List<GcProgressMasterPlanMark> planMarkList);

    /**
     * 查询项目进度控制--总体计划管理子--总体计划制定列表
     *
     * @param planId 项目进度控制--总体计划管理planId
     * @return 项目进度控制--总体计划管理子--总体计划制定集合
     */
    public List<GcProgressMasterPlanMark> selectGcProgressMasterPlanMarkList(String planId);

    /**
     * 修改项目进度控制--总体计划管理子--总体计划制定
     *
     * @param gcProgressMasterPlanMarkList 项目进度控制--总体计划管理子--总体计划制定
     * @return 结果
     */
    public int updateGcProgressMasterPlanMarkList(GcProgressMasterPlanMark gcProgressMasterPlanMarkList);

    /**
     * 删除项目进度控制--总体计划管理子--总体计划制定
     *
     * @param id 项目进度控制--总体计划管理子--总体计划制定
     * @return 结果
     */
    public int deleteGcProgressMasterPlanMarkById(Long id);
}
